﻿using System;
using System.Collections.Generic;

namespace InvoiceInvoker.Logic.RepositoryInterfaces
{
	public interface IInvoicePatternRepository : IRepository<InvoicePattern>
	{
		List<InvoicePattern> GetAll();

		List<InvoicePattern> GetByCustomer(string companyName);

		List<InvoicePattern> GetByProduct(string productName);

		List<InvoicePattern> GetByExpression(Func<InvoicePattern, bool> expression);

		void Add(InvoicePattern item, IEnumerable<int> registeredProductIds);

		void Add(InvoicePattern item, IEnumerable<RegisteredProduct> registeredProducts);
	}
}
